#include "prekompil.h"
#include "synchronizacja.h"

SekcjaKrytyczna::SekcjaKrytyczna()
   {
    pthread_mutex_init(&sekcja, NULL);
   }

SekcjaKrytyczna::~SekcjaKrytyczna()
   {
    pthread_mutex_destroy(&sekcja);
   }

void SekcjaKrytyczna::Wejdz()
   {
    pthread_mutex_lock(&sekcja);
   }

void SekcjaKrytyczna::Wyjdz()
   {
    pthread_mutex_unlock(&sekcja);
   }
int SekcjaKrytyczna::Sprawdz(){
    return pthread_mutex_trylock(&sekcja);
    
}

AutoZamek::AutoZamek(SekcjaKrytyczna & sekcja) : sekcja(sekcja)
   {
   sekcja.Wejdz();
   }

AutoZamek::~AutoZamek()
   {

   sekcja.Wyjdz();
   }

